
//Funcion que envia al backend de albaran de recogida para mostrar el formulario
function print_form(){
	$.get("albaranRecogida/backend.php?action=form", function(data){
		$("#formulario").html(data);
		$("#formulario").css("display","");
	});
}

//Funcion que envia al backend de albaran de recogida para insertar, modificar o borrar la linea de albaran con el indice especificado
function guardarConIndice(action,indice){
	$.get("albaranRecogida/backend.php?action="+action+"&indice="+indice,$("#formularioRecogida").serialize(), function(data){
				
				//Se muestran los errores pertenecientes a cada tipo de error
				switch(data){
				
					case 'expedicion':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Debe introducir un n&uacute;mero de expedici&oacute;n positivo y distinto de cero</b></font>";
					break;
					
					case 'expedicion_usada':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Este n&uacute;mero de expedici&oacute;n ya est&aacute; reservado, pruebe con otro n&uacute;mero</b></font>";
					break;
					
					case 'fecha':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Introduzca una fecha v&aacute;lida</b></font>";
					break;
					
					case 'distribuidor':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Seleccione un distribuidor</b></font>";
					break;
					
					case 'producto':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Introduzca un producto v&aacute;lido</b></font>";
					break;
					
					case 'unidades':											
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Un producto no tiene especificado un n&uacute;mero positivo de unidades</b></font>";					
					break;
					
					case 'agotado':											
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>La cantidad especificada sobrepasa el l&iacute;mite de existencias</b></font>";					
					break;
											
					case 'OK':						
						//$('#jqgrid_list').css('display','');
						//$('#formulario').html('');
						//$('#formulario').css('display','none');
						//$("#list").trigger("reloadGrid");						
						break;														
				}	
	});
}

//Funcion que devuelve el numero de lineas de albaran que existen en el formulario
function numeroLineasInsercion(){
	var tabla=document.getElementById("tabla_lineas_formulario");
	var lineas=tabla.getElementsByTagName("tr");
	return lineas.length;
}

//Funcion que muestra una nueva linea de albaran
function addField(tope){
	
	//Se coge el indice mayor de las lineas de albaran y se incrementa en uno para hallar el indice de la nueva linea de albaran
	var antiguoID=0;
	var id;
	for(var i=0;i<numeroLineasInsercion();i++){
		id=parseInt(document.getElementById("tabla_lineas_formulario").getElementsByTagName("tr").item(i).getAttribute("id").replace("linea_insercion_",""));
		if(id>antiguoID){
			antiguoID=id;
		}
	}
	
	//Se crea el codigo de la nueva linea de albaran
	var newID=antiguoID+1;
	var newClone = $('#linea_insercion_'+antiguoID).clone(true,true);
	newClone.attr("id",'linea_insercion_'+newID);
	newClone.insertAfter($('#linea_insercion_'+antiguoID));
	document.getElementById("linea_insercion_"+newID).innerHTML='<tr id="linea_insercion_'+newID+'" name="linea_insercion_'+newID+'"> <input type="hidden" id="idProducto_'+newID+'" name="idProducto_'+newID+'"> <td style="width: 108px;"> <input maxlength="13" type="text" id="ean_'+newID+'" name="ean_'+newID+'" class="autocompletar" onKeyPress="return comprobar_solonumeros_exp(event);" style="width: 105px; height: 22px; padding-top: 0px; padding-bottom: 0px; border-bottom-width: 1px; border-top-width: 1px; margin-top: 0px; padding-left: 0px;" onchange="obtenerProducto('+newID+');"> </td> <td width="755" class="autocompletar" style="width: 315px;"> <input style="width: 365px; height: 22px; padding-left: 0px; padding-top: 0px; padding-bottom: 0px; margin-bottom:0px;" type="text" id="producto_'+newID+'" name="producto_'+newID+'" class="autocompletar" > </td> <td style="width: 65px;" align="center" class="autocompletar"><input type="text" class="autocompletar" disabled="true" style="text-align:center; height: 22px; padding-left: 0px; width:62px; padding-top: 0px; padding-bottom: 0px;" id="undxcaja_'+newID+'" title="Unidades x Caja" /> </td> <td style="width: 65px;" align="center" class="autocompletar"><input type="text" class="autocompletar" disabled="true" style="text-align:center; padding-top: 0px; padding-bottom: 0px; height: 22px; padding-left: 0px; width:66px;" id="stock_'+newID+'" title="Stock" /> </td> <td style="width: 75px;"> <input style="text-align:center; padding-left: 0px; padding-top: 0px; padding-bottom: 0px; height: 22px;" name="unidades_'+newID+'" type="text" class="autocompletar" id="unidades_'+newID+'" size="8" maxlength="5" title="Unidades" onChange="actualizarLinea('+newID+','+tope+');" onKeyPress="return comprobar_solonumeros_2(event);"/> <td width="60" class="autocompletar" align="center"><input type="text" class="autocompletar" disabled="true" style="text-align:center; height: 22px; padding-left: 0px; width:66px; padding-top: 0px; padding-bottom: 0px;" id="palet_'+newID+'" title="Palets"/> </td> <td> <img id="deleteImg_'+newID+'" name="deleteImg_'+newID+'" src="./albaranEntrega/icon/icon-trash.png" style="width: 24px; height: 21px; border-top-width: 0px; margin-top: 0px;" onclick="delRow('+newID+');"> <input type="hidden" id="idproducto_'+newID+'"> </td> </tr>';
	//Se desactivan los campos del producto, las unidades y el ean de la linea de albaran anterior a la nueva linea
	document.getElementById("linea_insercion_"+antiguoID).getElementsByTagName("input").item(1).disabled=true;
	document.getElementById("linea_insercion_"+antiguoID).getElementsByTagName("input").item(2).disabled=true;
	document.getElementById("linea_insercion_"+antiguoID).getElementsByTagName("input").item(5).disabled=true;
	//Se llama al reautocompletar para que se vuelva a aplicar el autocompletar sobre el campo de producto de la nueva linea de albaran
	$.get("albaranRecogida/backend.php?action=reAutocompletar&prd="+newID,$("#formularioRecogida").serialize(),function(data){
			$("#scriptAutocomplete").html(data);
	});
}

//Funcion que envia al backend de albaran de recogida los datos del producto con el ean proporcionado
function obtenerProducto(indice){
	//Se recoge el ean del producto con el indice especificado
	var ean=$("#ean_"+indice).val();
	//Se envia el ean al backend de albaran de recogida para que se haga la consulta y nos devuelva los datos del producto
	$.get("albaranRecogida/backend.php?action=obtenerProducto&indice="+indice+"&ean="+ean,$("#formularioRecogida").serialize(),function(data){
		//Se recogen los datos del producto y se introducen en sus respectivos campos
		var elementos=Array();
		elementos=data.split("-");
		pasarID(indice,elementos[0]);
		$("#id_producto").val(elementos[0]);
		$("#idProducto_"+indice).val(elementos[0]);
		$("#producto_"+indice).val(elementos[1]);
		$("#stock_"+indice).val(elementos[2]);
		$("#undxcaja_"+indice).val(elementos[3]);
		if(document.getElementById("unidades_"+indice).value!="" && document.getElementById("producto_"+indice).value!=""){
			addField("");
		}
	});
}

//Funcion que envia al backend de albaran de recogida los datos del producto del lote con el id proporcionado
function obtenerProductoLote(id){
	//Se envia el id del producto al backend para que haga la consulta y devuelva los datos del producto
	//Tambien se empiezan a mostrar las lineas de lote una vez introducido el producto
	$.get("albaranRecogida/backend.php?action=obtenerProductoLote&id="+id,$("#formularioRecogida").serialize(),function(data){
		document.getElementById("fieldLote").getElementsByTagName("legend").item(0).innerHTML="Lotes de "+data;
		//document.getElementById("tablaLote").style.height="0px";
		document.getElementById("cabeceraLineasLote").style.visibility="visible";
		document.getElementById("tablaLineasLote").style.visibility="visible";
		$("#cabeceraLineasLote").show("slow");
		$("#tablaLineasLote").show("slow");
	});
}

//Funcion que envia al backend de albaran de recogida los datos del distribuidor seleccionado en el combobox
function cargarDistribuidor(){
	
	//Se recoge el id del distribuidor seleccionado
	var x = document.getElementById("distribuidor").value;
	
	//Se envia dicho id al backend de albaran de recogida para que haga la consulta y nos devuelva todos los datos del distribuidor
	$.get("albaranRecogida/backend.php?action=datosDistribuidor&idDistribuidor="+x,$("#formularioRecogida").serialize(),function(data){		
		//Se introducen los datos del distribuidor en un fieldset
		document.getElementById("DatosDistribuidor").innerHTML = data;
		document.getElementById("DatosDistribuidor").style.visibility="visible";
		document.getElementById("fieldsetDistribuidor").style.visibility="visible";				
	});
	
}

//Funcion que envia al backend de albaran de recogida el id de un producto para que devuelva su stock
function pasarID(indice,id){
	//Se envia al backend el id del producto para que devuelva su stock
	$.get("albaranRecogida/backend.php?action=recogerStock&idStock="+id,$("#formularioRecogida").serialize(),function(data){
		//Se introduce el stock devuelto en su respectivo campo
		document.getElementById("stock_"+indice).disabled="false";
		$("#stock_"+indice).val(data);
		document.getElementById("stock_"+indice).disabled="true";
	});
}

//Funcion que envia al backend de albaran de recogida el id de un producto para obtener su codigo ean
function llenarEAN(indice,id){
	//Se envia el id del producto al backend de albaran de recogida para que haga la consulta y devuelva su codigo ean
	$.get("albaranRecogida/backend.php?action=ean&idEan="+id,$("#formularioRecogida").serialize(),function(data){
		//Se introduce el codigo ean devuelto en su respectivo campo
		$("#ean_"+indice).val(data);
	});
}

//#####################################################################################################################################
//#####################################################################################################################################

//Funcion llamada al cambiar las unidades de una linea de albaran que guarda la linea de albaran en la base de datos
function actualizarLinea(indice,tope){
	//Solo se guarda la linea de albaran si poseemos todos los datos necesarios
	if (document.getElementById("producto_"+indice).value != "" && document.getElementById("unidades_"+indice).value != ""){
		var id = document.getElementById("idProducto_"+indice).value;
		
		
		//Se insertará o se modificará la linea en funcion de la accion predominante en el formulario del backend
		if($("#accion").val()=="modificar"){
			guardarConIndice("modificarLinea",indice);
		}
		else{
			//Se envian los datos de la linea de albaran al backend para su insercion
			$.get("albaranRecogida/backend.php?action=insertarLinea&indice="+indice+"&idProducto_"+indice+"="+$("#idProducto_"+indice).val()+"&unidades_"+indice+"="+$("#unidades_"+indice).val(),$("#formularioRecogida").serialize(), function(data){
				
				//Se muestra el correspondiente mensaje de error en caso de error
				switch(data){
				
					case 'expedicion':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Debe introducir un n&uacute;mero de expedici&oacute;n positivo y distinto de cero</b></font>";
					break;
					
					case 'expedicion_usada':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Este n&uacute;mero de expedici&oacute;n ya est&aacute; reservado, pruebe con otro n&uacute;mero</b></font>";
					break;
					
					case 'fecha':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Introduzca una fecha v&aacute;lida</b></font>";
					break;
					
					case 'distribuidor':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Seleccione un distribuidor</b></font>";
					break;
					
					case 'producto':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Introduzca un producto v&aacute;lido</b></font>";
					break;
					
					case 'unidades':											
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Un producto no tiene especificado un n&uacute;mero positivo de unidades</b></font>";					
					break;
					
					case 'agotado':											
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>La cantidad especificada sobrepasa el l&iacute;mite de existencias</b></font>";					
					break;
											
					case 'OK':						
						//$('#jqgrid_list').css('display','');
						//$('#formulario').html('');
						//$('#formulario').css('display','none');
						//$("#list").trigger("reloadGrid");						
						break;														
				}	
			});
		}
		
		//Se muestra una linea de albaran nueva despues de insertar la actual
		if(indice >= tope || tope==0){
			addField(tope);
			llenarPalets(indice, id);
			$(document).ready(function(){
				pasarID(indice, id);				
			});
		}
		
		//Si ha salido un mensaje de error se borra a los 5 segundos de aparecer
		$(document).ready(function(){
			if(document.getElementById("contenedor").innerHTML != ""){
				$("#palet_0").val("");
				$("#stock_0").val("");
				setTimeout(function(){document.getElementById("contenedor").innerHTML = ""},5000);
			}
		});		
	}
}
//#####################################################################################################################################
//#####################################################################################################################################

//Funcion que borra una linea de albaran
function delRow(indice){
	//Funcion que destruye el elemento actual una vez echo el click
	//Se obtiene el indice mayor de todas las lineas de albaran existentes en el formulario 
	var mayor=0;
	var recorre=0;
	for(var i=0;i<numeroLineasInsercion();i++){
		recorre=parseInt(document.getElementById("tabla_lineas_formulario").getElementsByTagName("tr").item(i).getAttribute("id").replace("linea_insercion_",""));
		if(recorre>mayor){
			mayor=recorre;
		}
	}

	/*Sólo permitiremos borrar líneas mientras quede más de una y mientras no sea la última línea de inserción*/
	if(numeroLineasInsercion()>1 && ((parseInt(indice))!=mayor)){	
		$.get("albaranRecogida/backend.php?action=borrarLinea&indice="+indice+"&idProducto_"+indice+"="+$("#idProducto_"+indice).val(),$("#formularioRecogida").serialize(),function(data){
		});
		$("#linea_insercion_"+indice).remove();
	}
}

//Funcion que comprueba que solo se metan numeros, retrocesos y comas en un campo de texto
function comprobar_solonumeros_2(evt){

	//asignamos el valor de la tecla a keynum
	if(window.event){// IE
		keynum = evt.keyCode;
	}
	else{
		keynum = evt.which;
	}
	//comprobamos si se encuentra en el rango
	if((keynum>47 && keynum<58) || keynum==8 || keynum==46){
		return true;
	}
	else{
		return false;
	}
}

//Funcion que comprueba que solo se metan numeros y retrocesos en un campo de texto
function comprobar_solonumeros_exp(evt){

	//asignamos el valor de la tecla a keynum
	if(window.event){// IE
		keynum = evt.keyCode;
	}
	else{
		keynum = evt.which;
	}
	//comprobamos si se encuentra en el rango
	if((keynum>47 && keynum<58) || keynum==8){
		return true;
	}
	else{
		return false;
	}
}

//Funcion que envia al backend de albaran de recogida el id de un producto para que haga una consulta y devuelva las cajas por palet del producto en cuestion
function llenarPalets(indice,id)
{
	//Se envia al backend el id del producto para que haga la consulta y devuelva las cajas por palet de dicho producto
	$.get("albaranRecogida/backend.php?action=palet&idPalet="+id,$("#formularioRecogida").serialize(),function(data){
				
		if (document.getElementById("unidades_"+indice).value != "")
		{
			//Se hallan los palets que se llenarian con las unidades de la linea de albaran y se introduce en su respectivo campo
			var und = document.getElementById("unidades_"+indice).value;
			document.getElementById("palet_"+indice).value = Math.round((und/data)*100)/100;
		}
				 
	});
}

//Funcion que envia al backend de albaran de recogida las observaciones de dicho albaran para su insercion
function insertarObservaciones(){
	//Se obtienen las observaciones del albaran y se envian al backend para su insercion
	var ob = $("#observaciones").val();
	$.post("albaranRecogida/backend.php?action=insertarObservaciones&obvs="+ob+"&expedicionObservaciones="+$("#expedicion").val(),$("#formularioRecogida").serialize(),function(data){
	});
}

//Funcion que va restando y mostrando el limite de caracteres que se pueden introducir en el textarea de observaciones
function restarLimite(){
	var limite = 499;
	//Se recoge el numero de caracteres introducidos y se les restan al limite, acto seguido se muestran
	var n = document.getElementById("observaciones").value.length;
	document.getElementById("maxCaracteres").innerHTML = (limite +1) - n;
}

//Funcion que envia al backend de albaran de recogida el id de un producto para que haga una consulta y devuelva sus unidades por caja
function llenarUndxPalet(indice,id){
	//Se envia al backend el id del producto y se recogen sus unidades por caja
	$.get("albaranRecogida/backend.php?action=undxpalet&iduxp="+id,$("#formularioRecogida").serialize(),function(data){
		//Se introducen las unidades por caja en su respectivo campo como dato informativo
		$("#undxcaja_"+indice).val(data);
	});
}

//Funcion que muestra e imprime un PDF con los datos del albaran, de sus lineas y de sus lotes
function imprimirPDF(n_expedicion){

	document.location = "report/creacion.php?n_expedicion="+n_expedicion;
	
}

//Funcion que muestra e imprime un PDF con los datos del albaran, de sus lineas, de sus lotes y con el codigo ean de cada producto
function imprimireanPDF(n_expedicion){

	document.location = "report/creacionean.php?n_expedicion="+n_expedicion;
	
}

//Funcion que muestra y oculta los campos para introducir un nuevo lote en caso de querer insertar un nuevo lote
function mostrarLote(){
	var contador=document.getElementById("tablaLineasLote").getElementsByTagName("tr").length;
	
	//Si los campos estan ocultos se muestran
	if(document.getElementById("campoLote").style.display=="none"){
		//document.getElementById("campoLote").style.height="135px";
		//document.getElementById("fieldLote").style.height="135px";
		//document.getElementById("campoLote").style.visibility="visible";
		document.getElementById("fechaLote_0").disabled=true;
		$("#campoLote").show("slow");
	}
	//Si los campos estan visibles se ocultan además de reiniciarse dichos campos, es decir, los campos se ponen en blanco y se ocultan
	else{
		//Se borran una a una todas las lineas de lote salvo la primera linea, que sólo se reinicia
		for(var i=0;i<(contador);i++){
			if(i==0){
				document.getElementById("linea_lote_"+i).getElementsByTagName("input").item(0).disabled=false;
				document.getElementById("linea_lote_"+i).getElementsByTagName("input").item(0).value="";
				document.getElementById("linea_lote_"+i).getElementsByTagName("input").item(1).disabled=false;
				document.getElementById("linea_lote_"+i).getElementsByTagName("input").item(1).value="";
				document.getElementById("linea_lote_"+i).getElementsByTagName("input").item(1).disabled=true;
				document.getElementById("linea_lote_"+i).getElementsByTagName("input").item(3).disabled=false;
				document.getElementById("linea_lote_"+i).getElementsByTagName("input").item(3).value="";
				$("#fechaLote_0").datepicker("enable");
				document.getElementById("productoLote").disabled=false;
				$.get("albaranRecogida/backend.php?action=datepickerLote&prd=0",$("#formularioRecogida").serialize(),function(data){
					$("#dateLote").html(data);
				});
				continue;
			}
			$("#linea_lote_"+i).remove();
		}
		
		//Se reinicia la cabecera del fieldset de lote y se oculta
		document.getElementById("productoLote").value="";
		document.getElementById("fieldLote").getElementsByTagName("legend").item(0).innerHTML="Lotes producto";
		//document.getElementById("productoLoteOcultar").style.visibility="visible";
		//document.getElementById("cabeceraLineasLote").style.visibility="hidden";
		//document.getElementById("tablaLineasLote").style.visibility="hidden";
		//document.getElementById("campoLote").style.visibility="hidden";
		$("#campoLote").hide("slow");
		$("#tablaLineasLote").hide("slow");
		$("#cabeceraLineasLote").hide("slow");
		
	}
}

//Funcion que muestra una nueva linea de lote en caso de querer insertar un nuevo lote
function addFieldLote(tope){

	//Se obtiene el indice mayor de las lineas de lote de insercion y se incrementa en uno para obtener el indice de la nueva linea de lote de insercion
	var antiguoID=0;
	var id;
	for(var i=0;i<(document.getElementById("tablaLineasLote").getElementsByTagName("tr").length);i++){
		id=parseInt(document.getElementById("tablaLineasLote").getElementsByTagName("tr").item(i).getAttribute("id").replace("linea_lote_",""));
		if(id>antiguoID){
			antiguoID=id;
		}
	}
	var newID=antiguoID+1;
	var newClone = $('#linea_lote_'+antiguoID).clone(true,true);
	newClone.attr("id",'linea_lote_'+newID);
	newClone.insertAfter($('#linea_lote_'+antiguoID));
	document.getElementById("linea_lote_"+newID).innerHTML='<td><center><input type="text" class="autocompletar" id="nLote_'+newID+'" name="nLote_'+newID+'" maxlength="18" onkeypress="return comprobar_solonumeros_exp(event);"></center></td><td><center><input type="text" class="autocompletar" id="fechaLote_'+newID+'" name="fechaLote_'+newID+'" disabled="disabled"><input type="hidden" id="fecha_lote_'+newID+'" name="fecha_lote_'+newID+'"></center></td><td><center><input type="text" id="unidadesLote_'+newID+'" name="unidadesLote_'+newID+'" class="autocompletar" style="width:70px;" onkeypress="return comprobar_solonumeros_2(event);" onchange="actualizarLineaLote('+newID+',0);"></center></td><td> <img id="deleteLote_'+newID+'" name="deleteLote_'+newID+'" src="./albaranEntrega/icon/icon-trash.png" style="width: 24px; height: 21px; border-top-width: 0px; margin-top: 0px;" onclick="delRowLote('+newID+');"> </td>';
	//Se desactivan los campos de la linea de lote de insercion anterior a la linea de lote de insercion que se va a añadir
	document.getElementById("linea_lote_"+antiguoID).getElementsByTagName("input").item(0).disabled=true;
	document.getElementById("linea_lote_"+antiguoID).getElementsByTagName("input").item(1).disabled=true;
	document.getElementById("linea_lote_"+antiguoID).getElementsByTagName("input").item(3).disabled=true;
	$("#fechaLote_"+antiguoID).datepicker("disable");
	//Se vuelve a llamar al datepicker para que se aplique en el nuevo campo de fecha de caducidad de la nueva linea de lote de insercion
	$.get("albaranRecogida/backend.php?action=datepickerLote&prd="+newID,$("#formularioRecogida").serialize(),function(data){
			$("#dateLote").html(data);
	});
}

//Funcion que inserta o modifica las lineas de lote en funcion de la accion
function actualizarLineaLote(indice,tope){
	
	if (document.getElementById("nLote_"+indice).value != "" && document.getElementById("fechaLote_"+indice).value != "" && document.getElementById("unidadesLote_"+indice).value != ""){
		var id_producto = document.getElementById("id_producto_lote").value;		

		if($("#accion").val()=="modificar"){
			guardarConIndice("modificarLinea",indice);
		}
		else{
			//Se envian los datos de la linea de lote al backend de albaran de recogida para su insercion
			$.get("albaranRecogida/backend.php?action=insertarLote&indice="+indice+"&id_producto_lote="+id_producto+"&distribuidor="+$("#distribuidor").val(),$("#formularioRecogida").serialize(),function(data){
				//Se muestra el correspondiente mensaje de error en caso de error
				switch(data){
							case 'numeroLote':
								document.getElementById('errorLote').innerHTML ="<font color='red'><b>Introduzca un n&uacute;mero de lote v&aacute;lido</b></font>";
								setTimeout(function(){document.getElementById('errorLote').innerHTML ="";},5000);
							break;
							
							case 'numeroAcabadoLote':
								document.getElementById('errorLote').innerHTML ="<font color='red'><b>El n&uacute;mero de lote especificado ya existe</b></font>";
								setTimeout(function(){document.getElementById('errorLote').innerHTML ="";},5000);
							break;
									
							case 'fechaAlbaran':
								document.getElementById('errorLote').innerHTML ="<font color='red'><b>Introduzca una fecha v&aacute;lida para el albar&aacute;n</b></font>";
								setTimeout(function(){document.getElementById('errorLote').innerHTML ="";},5000);
							break;
												
							case 'fechaLote':
								document.getElementById('errorLote').innerHTML ="<font color='red'><b>Introduzca una fecha de caducidad v&aacute;lida para el lote</b></font>";
								setTimeout(function(){document.getElementById('errorLote').innerHTML ="";},5000);
							break;
							
							case 'distribuidorLote':
								document.getElementById('errorLote').innerHTML ="<font color='red'><b>Seleccione el distribuidor del lote</b></font>";
								setTimeout(function(){document.getElementById('errorLote').innerHTML ="";},5000);
							break;
							
							case 'productoLote':
								document.getElementById('errorLote').innerHTML ="<font color='red'><b>Introduzca un producto v&aacute;lido para el lote</b></font>";
								setTimeout(function(){document.getElementById('errorLote').innerHTML ="";},5000);
							break;
							
							case 'unidadesLote':											
								document.getElementById('errorLote').innerHTML ="<font color='red'><b>El producto del lote no tiene especificado un n&uacute;mero positivo de unidades</b></font>";					
								setTimeout(function(){document.getElementById('errorLote').innerHTML ="";},5000);
							break;
							
							case 'agotadoLote':											
								document.getElementById('errorLote').innerHTML ="<font color='red'><b>La cantidad especificada sobrepasa el l&iacute;mite de existencias</b></font>";					
								setTimeout(function(){document.getElementById('errorLote').innerHTML ="";},5000);
							break;
							
							case 'expedicion':
								document.getElementById('errorLote').innerHTML ="<font color='red'><b>Debe introducir un n&uacute;mero de expedici&oacute;n positivo y distinto de cero</b></font>";
								setTimeout(function(){document.getElementById('errorLote').innerHTML ="";},5000);
							break;
													
							case 'OK':
							break;
				}
			});
		}
		
		//Se añade una nueva linea de lote después de insertar
		if(indice >= tope || tope==0){
			addFieldLote(tope);
		}
	}
}

//Funcion que envia al backend de albaran de recogida los datos del albaran para su insercion
function datosPrincipales(){
	//Solo insertamos el albaran si poseemos los datos necesarios
	if($("#expedicion").val()!="" && $("#distribuidor").val()!=0 && document.getElementById("campo_fecha").value!=""){
		document.getElementById("botonLote").style.visibility="visible";
		document.getElementById("tabla_cabecera_lineas_formulario").style.visibility="visible";
		document.getElementById("tabla_lineas_formulario").style.visibility="visible";
		//Se envian los datos del albaran para su insercion
		$.get("albaranRecogida/backend.php?action=insertarCabecera",$("#formularioRecogida").serialize(),function(data){
			//Se muestran los mensajes de error en caso de error
			switch(data){
				case 'expedicion':
					document.getElementById('contenedor').innerHTML ="<font color='red'><b>Debe introducir un n&uacute;mero de expedici&oacute;n positivo y distinto de cero</b></font>";
				break;
				
				case 'expedicion_usada':
					document.getElementById('contenedor').innerHTML ="<font color='red'><b>Este n&uacute;mero de expedici&oacute;n ya est&aacute; reservado, pruebe con otro n&uacute;mero</b></font>";
				break;
				
				case 'distribuidor':
					document.getElementById('contenedor').innerHTML ="<font color='red'><b>Seleccione un distribuidor</b></font>";
				break;
				
				case 'fecha':
					document.getElementById('contenedor').innerHTML ="<font color='red'><b>Introduzca una fecha v&aacute;lida</b></font>";
				break;
				
				case 'OK':
						//Se desactivan los campos del albaran si su inserción ha sido correcta
						$("#campo_fecha").datepicker("disable");
						document.getElementById("expedicion").setAttribute("onkeyup","");
						document.getElementById("expedicion").readOnly = true;
						document.getElementById("distribuidor").disabled = true;
				break;
			}
		});
	}
	else{
		//Si no tenemos todos los datos necesarios se ocultan los lotes y las lineas
		document.getElementById("botonLote").style.visibility="hidden";
		document.getElementById("tabla_cabecera_lineas_formulario").style.visibility="hidden";
		document.getElementById("tabla_lineas_formulario").style.visibility="hidden";
	}
}

// Comprueba si el numero de expedición existe (ROJO) o no (VERDE)
function expedicionUsada(){
	
	var exped = document.getElementById("expedicion").value;
	
	$.post("albaranRecogida/backend.php?action=consultaExpedicionUsada&expUsada="+exped,$("#formularioRecogida").serialize(),function(data){
		
		switch(data) {
				
				// Mantiene color rojo si no es correcto
				case 'expedicion_usada':
						
						document.getElementById('expedicion').style.color = "black";
						document.getElementById('expedicion').style.backgroundColor = "#F5A9A9";
						document.getElementById('expedicion').style.borderColor = "red";
						document.getElementById('expedicion').style.borderWidth = "3px";
						document.getElementById('contenedor_expedicion').innerHTML ="<font color='red'><b>Expedici&oacute;n usada</b></font>";

				break;
				
				//Si es blanco quitar colores
				case 'blanco':
				
					if(document.getElementById('expedicion').value == "")
					{
						document.getElementById('expedicion').style.borderColor = "";
						document.getElementById('expedicion').style.borderWidth = "1px";
						document.getElementById('contenedor_expedicion').innerHTML = "";
						document.getElementById('expedicion').style.backgroundColor = "";
					}
					
				break;
				
				//Mantiene el color verde 3 segundos para indicar que es correcto
				case 'OK':
						
						document.getElementById('expedicion').style.color = "black";
						document.getElementById('expedicion').style.backgroundColor = "#A9F5A9";
						document.getElementById('expedicion').style.borderColor = "green";
						document.getElementById('expedicion').style.borderWidth = "3px";
						setTimeout(function(){
							document.getElementById('expedicion').style.borderColor = "";
							document.getElementById('expedicion').style.backgroundColor = "";
							document.getElementById('expedicion').style.borderWidth = "1px";
						},3000);
						document.getElementById('contenedor_expedicion').innerHTML = "";
					
				break;
				
			}
		
	});
	
}

//Funcion que devuelve el numero de lineas de lote de insercion
function numeroLineasInsercionLote(){
	var tabla=document.getElementById("tablaLineasLote");
	var lineas=tabla.getElementsByTagName("tr");
	return lineas.length;
}

//Funcion que elimina una linea de lote con indice especificado
function delRowLote(indice){
	//Funcion que destruye el elemento actual una vez echo el click
	//Se obtiene el indice mayor de las lineas de lote de insercion
	var mayor=0;
	var recorre=0;
	for(var i=0;i<numeroLineasInsercionLote();i++){
		recorre=parseInt(document.getElementById("tablaLineasLote").getElementsByTagName("tr").item(i).getAttribute("id").replace("linea_lote_",""));
		if(recorre>mayor){
			mayor=recorre;
		}
	}

	/*Sólo permitiremos borrar líneas mientras quede más de una y mientras no sea la última línea de inserción*/
	if(numeroLineasInsercionLote()>1 && ((parseInt(indice))!=mayor)){	
		$.get("albaranRecogida/backend.php?action=borrarLineaLote&productoLote="+$("#id_producto_lote").val()+"&numero="+$("#nLote_"+indice).val()+"&unidades="+$("#unidadesLote_"+indice).val(),$("#formularioRecogida").serialize(),function(data){
		});
		$("#linea_lote_"+indice).remove();
	}
}

//Funcion que envia al backend de albaran de recogida la fecha modificada para un albaran existente en la base de datos
function modificarFechaAlbaran(){
	//Se envia la nueva fecha del albaran para que se pueda modificar en la base de datos
	$.get("albaranRecogida/backend.php?action=modificarFechaAlbaran&fecha="+$("#fecha").val()+"&expedicion="+$("#expedicion").val(),$("#formularioRecogida").serialize(),function(data){});
}

//Funcion que redirecciona al inicio de la pagina si la accion es insertar o muestra el listado de albaranes si la accion es modificar
function volver_atras_2(accion){
	if(accion=="modificar"){
		$('#jqgrid_list').css('display','');
		$('#formulario').html('');
		$('#formulario').css('display','none');
	}
	else if(accion=="insertar"){
		window.location="http://www.synapse.es/transporte/intranet/fcontenido.php?modulo=inventario";
	}
}

//Funcion que redirecciona a la pagina anterior, antes comprueba si el albaran tiene asociada alguna linea de albaran, si no es así pregunta al usuario si desea borrar el albaran, y si la respuesta es afirmativa envia los datos del albaran al backend para que pueda borrar dicho albaran de la base de datos
function botonAceptar(accion){
	//Se envian los datos del albaran al backend para que compruebe si dicho albaran tiene asociadas lineas de albaran
	$.get("albaranRecogida/backend.php?action=comprobarGuardar&expedicionComprobarGuardar="+$("#expedicion").val(),$("#formularioRecogida").serialize(),function(data){
		switch(data){
			//Si tiene asociadas lineas de albaran retrocede a la pagina anterior
			case 'OK':
				volver_atras_2(accion);
			break;			
			//Si no tiene asociadas lineas de albaran pregunta al usuario si desea borrar el albaran
			case 'borrar':
				//Si se desea borrar el albaran se envian los datos del mismo al backend y se procede a su eliminacion de la base de datos
				if(confirm("El albarán está vacío y será eliminado")){
					$.get("albaranRecogida/backend.php?action=borrarGuardar&expedicionBorrarGuardar="+$("#expedicion").val(),$("#formularioRecogida").serialize(),function(data){
						if(data=="OK"){
							volver_atras_2(accion);
						}
					});					
				}
				//Si no se desea borrar el albaran se retrocede a la pagina anterior
				else{
					volver_atras_2(accion);
				}
			break;
		}
	});
}

